package cn.yunhe.server;

import cn.yunhe.dao.ITypeDao;
import cn.yunhe.entity.Type;
import cn.yunhe.util.SqlSessionFactoryUtil;
import org.apache.ibatis.session.SqlSession;

public class TypeDaoServer {

    /**
     * 向数据库插入房屋类型方法
     *
     * @param type 房屋类型对象
     * @return 方法执行结果, true代表插入成功, false代表插入失败
     */
    public boolean insertType(Type type) {
        SqlSession session = SqlSessionFactoryUtil.getSqlSession();
        ITypeDao typeDao = session.getMapper(ITypeDao.class); //通过映射获取typeDao对象
        boolean flag = typeDao.insertType(type); //执行插入房屋类型方法

        try {
            if (flag) { //若返回值为true则提交事务,否则直接返回false
                session.commit();
                return true;
            } else {
                return false;
            }
        }catch (Exception e){
            return false;
        }finally {
            if (session != null){
                session.close();
            }
        }

    }


    /**
     * 通过房屋类型名称查询类型对象
     * @param tName 房屋类型名称
     * @return 查询得到的类型对象
     */
    public Type getType(String tName) {
        SqlSession session = SqlSessionFactoryUtil.getSqlSession();
        ITypeDao typeDao = session.getMapper(ITypeDao.class); //通过映射获取typeDao对象
        try {
            return typeDao.getType(tName); //通过类型名称查询类型对象方法
        }catch (Exception e){
            return null;
        }finally {
            if (session != null){
                session.close();
            }
        }
    }
}
